home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 10
/
FM Towns Free Software Collection 10.iso
/
ms_dos
/
tool
/
mercury
/
start.c
< prev
next >
Wrap
Text File
|
1995-01-29
|
2KB
|
92 lines
/*
MercuryInstaller スタートアップルーチン
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<jstring.h>
#include"mercury.h"
/*-----------------------------オプションの解析------------------------------*/
static void option(char *s)
{
switch (s[1])
{
case 'D':
case 'd':
Drive = s[2];
break;
case 'C':
case 'c':
Flag_noignore = 1;
break;
case 'E':
case 'e':
Flag_isfmesc = (s[2]=='F' || s[2]=='f');
break;
case 'h':
case 'H':
case '?':
printf( "書式:MERCURY [オプション] [インデックスファイル名]\n"
"\n"
"オプション : \n"
" -D[ドライブ名] データドライブの指定\n"
" -C インデックスファイルの検査を厳密に行う\n"
" -EF FMシリーズ用エスケープシーケンスを使用\n");
exit(0);
default:
printf("不正なオプションです : %s\n",s);
exit(1);
}
}
/*-----------------------------スタートアップ--------------------------------*/
extern int main(int argc,char **argv)
{
char *p = argv[0];
char buf[128];
diet_init();
printf( "MercuryInstaller Version " VERSION " for MS-DOS\n"
"Copyright (c) 1994-95 Delmonta\n\n");
fclose(stdaux);
fclose(stdprn);
freopen("/dev/con","r",stdin);
freopen("/dev/con","w",stdout);
while (argv++,--argc)
{
if (*argv[0]=='-')
option(argv[0]);
else
{
char c = Drive;
readidxfile(argv[0]);
if (c!='\0')
Drive = c;
goto end;
}
}
/* コマンドラインでファイル名が指定されなかった場合 */
if (p!=NULL)
{
strcpy(buf,p);
strcpy(jstrrchr(buf,'\\')+1,DEFAULT_IDXFILENAME);
p = buf;
}
else
p = DEFAULT_IDXFILENAME;
readidxfile(p);
end:
menu();
}
/*-----------------------------End of start.c--------------------------------*/